James Lembke, Ph.D.
Assistant Professor
- Milwaukee WI UNITED STATES
- Diercks Hall DH419
- Electrical Engineering and Computer Science
James Lembke teaches in the Electrical Engineering and Computer Science Department at Milwaukee School of Engineering.
Education, Licensure and Certification
Ph.D.
Computer Science
Purdue University
2021
M.S.
Computer Science
Michigan Technological University
2005
B.S.
Computer Science
Michigan Technological University
2003
Biography
Areas of Expertise
Selected Publications
Competition and Gaming in a Computer Science Curriculum
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science EducationJames Lembke
2023-03-26
Traditional assessment of students' ability to learn course material is often based against individual or group achievement through tests, homework, quizzes, project, etc. The standard for achievement on such assignments are often based on a standard for what is 'correct' or a rubric and students are rated against that standard. The purpose of this birds of a feather session is to brainstorm engagement and assessment involving student versus student interactions. Can competition between students be a useful tool for student engagement in the classroom? Does direct student-to-student competitions provide an adequate assessment of student success? Do learning objectives in computer science (CS) and software engineering (SE) lead to topics in competition? The goal is to consider existing and new platforms for competition in CS and SE as well as discuss reflections from others who have had success and/or failures.
DEFUSE: An Interface for Fast and Correct User Space File System Access
ACM Transactions on StorageJames Lembke, Pierre-Louis Roman, Patrick Eugster
2022-09-26
Traditionally, the only option for developers was to implement file systems (FSs) via drivers within the operating system kernel. However, there exists a growing number of file systems (FSs), notably distributed FSs for the cloud, whose interfaces are implemented solely in user space to (i) isolate FS logic, (ii) take advantage of user space libraries, and/or (iii) for rapid FS prototyping. Common interfaces for implementing FSs in user space exist, but they do not guarantee POSIX compliance in all cases, or suffer from considerable performance penalties due to high amounts of wait context switches between kernel and user space processes.
Consistent and Secure Network Updates Made Practical
Proceedings of the 21st International Middleware ConferenceJames Lembke, Srivatsan Ravi, Pierre-Louis Roman, Patrick Eugster
2020-12-07
Software-defined wide area networking (SD-WAN) enables dynamic network policy control over a large distributed network via network updates. To be practical, network updates must be both consistent, i.e., free of transient errors caused by updates to multiple switches, and secure, i.e., free of errors caused by faulty or malicious members of the control plane. Besides, these properties must incur minimal overhead to controllers and switches.
RoSCo: Robust Updates for Software-Defined Networks
IEEE Journal on Selected Areas in CommunicationsJames Lembke, Srivatsan Ravi, Patrick Eugster, Stefan Schmid
2020-04-13
In many Software-Defined Networking (SDN) deployments the control plane ends up being actually centralized, yielding a single point of failure and attack. This paper models the interaction between the data plane and a distributed control plane consisting of a set of failure-prone and potentially malicious (compromised) control devices, and implements a secure and robust controller platform that allows network administrators to integrate new network functionality as with a centralized approach. Concretely, the network administrator may program the data plane from the perspective of a centralized controller without worrying about distribution, asynchrony, failures, attacks, or coordination problems that any of these could cause. We introduce a formal SDN computation model for applying network policies and show that it is impossible to implement asynchronous non-blocking and strongly consistent SDN controller platforms in that model. We then present a robust SDN controller protocol (RoSCo) which implements (i) a protocol with provably linearizable semantics for applying network policies that is resilient against faulty/malicious control devices as long as a correct majority exists, and (ii) a modification to the protocol that improves performance by relaxing the guarantees of linearizability to exploit commutativity among updates. Extensive experiments conducted with a functional prototype of RoSCo over a large networked infrastructure supporting Open vSwitch (OVS)-compatible Agilio CX™ SmartNIC hardware show that RoSCo induces bearable overhead. In fact, RoSCo achieves higher throughput in most cases investigated than the seminal Ravana platform which addresses only benign (crash) failures.
Edge-Limited Scalable QoS Flow Set-Up
Journal of Networking and Computer ApplicationsLembke, J., Choi, B.K.
2008
Although the Differentiated Services architecture supports scalable packet forwarding based on aggregate flows, the detailed procedure of Quality of Service (QoS) flow set-up within this architecture has not been well established. In this paper we explore the possibility of a scalable QoS flow set-up using a sink-tree paradigm. The paradigm initially constructs a sink tree at each egress edge router using network topology and bandwidth information provided by a QoS extended version of Open Shortest Path First (OSPF), which is a widely used link-state routing protocol. Our sink-tree paradigm dynamically reallocates network bandwidths online according to traffic demands. As a consequence, our paradigm easily supports QoS routing, resource allocation, and admission control at ingress edge routers without consulting core routers in a way that the QoS flow set-up time and overhead are minimized. Simulation results are very encouraging in that the proposed methodology requires significantly less communication overhead in setting up QoS flows compared to the traditional per-flow signaling-based methodology while still maintaining high resource utilization.
Sink Tree-Based Bandwidth Allocation for Scalable QoS Flow SetUp
The International Conference on Information NetworkingLembke, J., Choi, B.K.
2006
Although the Differentiated Services architecture supports scalable packet forwarding based on aggregate flows, the detailed procedure of Quality of Service (QoS) flow set-up within this architecture has not been well established. In this paper we explore the possibility of a scalable QoS flow set-up using a sink-tree paradigm. The paradigm constructs a sink tree at each egress edge router using network topology and bandwidth information provided by a QoS extended version of Open Shortest Path First (OSPF). Simulation results are very encouraging in that our methodology requires significantly less communication overhead in setting up QoS flows compared to the traditional per-flow signaling-based methodology while still maintaining high resource utilization.
Collision Avoidance in One-hop Broadcasting for Mobile Ad-Hoc Networks, Communications, Internet, and Information Technology
IASTED International Conference on Communication, Internet, and Information TechnologyLembke, J., Ryne, Z., Li, H., Park, S.
2005
Reliable one-hop broadcasting is essential for numerous routing and broadcasting protocols in Mobile Ad hoc Networks (MANET). However, collisions make this reliability impossible to achieve. Several algorithms have been proposed to reduce the number of collisions, but are too complex for practical applications. We have looked into power aware routing protocols for MANET where mobile nodes can alter their transmission range to increase longevity. Our proposed idea uses this power saving feature to provide a simpler solution to reduce the number of collisions in one-hop broadcasting.